package br.com.tcc.systemdx.service.impl;

import java.util.List;

public class ResultadoMineracao {
	int acertoMedio;
	double desvioPadraoAcerto;
	
	int numeroMedioRegras;
	double desvioPadraoRegras;
	
	List<String>[] printRegras;
	private double[] erros;
	
	public List<String>[] getPrintRegras() {
		return printRegras;
	}

	public double[] getErros() {
		return erros;
	}

	public ResultadoMineracao(int taxa_acerto[], int numero_regras[]) {
		acertoMedio = media(taxa_acerto);
		desvioPadraoAcerto = desvio(taxa_acerto, acertoMedio);
		
		numeroMedioRegras = media(numero_regras);
		desvioPadraoRegras = desvio(numero_regras, numeroMedioRegras);
	}
	
	private int media(int array[]) {
		int soma = 0;
		for(int i =0; i < array.length; ++i) {
			soma += array[i];
		}
		
		return soma/array.length;
	}
	
	private double desvio(int array[], int media) {
		double d = 0;
		for(int i =0; i < array.length; ++i) {
			d += Math.pow((array[i] - media), 2);
		}
		d = Math.sqrt(d/(array.length-1));
		return d;
	}
	
	public void imprimirConsole(){
		System.out.println("Acerto Médio: " + acertoMedio + " Desvio: " + desvioPadraoAcerto);
		System.out.println("Numero Médio de Regras: " + numeroMedioRegras+ " Desvio: " + desvioPadraoRegras);
	}

	public void setPrintRegras(List<String>[] printRegras) {
		this.printRegras = printRegras;
	}

	public void setErros(double[] erros) {
		this.erros = erros;
		
	}
	
	
}
